{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import nltk\n",
    "from nltk.corpus import stopwords\n",
    "import string\n",
    "import xgboost as xgb\n",
    "from sklearn.feature_extraction.text import TfidfVectorizer, CountVectorizer\n",
    "from sklearn.decomposition import TruncatedSVD\n",
    "from sklearn import ensemble, metrics, model_selection, naive_bayes\n",
    "import spacy\n",
    "color = sns.color_palette()\n",
    "\n",
    "%matplotlib inline\n",
    "\n",
    "eng_stopwords = set(stopwords.words(\"english\"))\n",
    "pd.options.mode.chained_assignment = None\n",
    "nlp = spacy.load('en_core_web_sm')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import sklearn.datasets\n",
    "import re\n",
    "def clearstring(string):\n",
    "    string = re.sub('[^A-Za-z ]+', '', string)\n",
    "    string = string.split(' ')\n",
    "    string = filter(None, string)\n",
    "    string = [y.strip() for y in string]\n",
    "    string = ' '.join(string)\n",
    "    return string.lower()\n",
    "\n",
    "def separate_dataset(trainset):\n",
    "    datastring = []\n",
    "    datatarget = []\n",
    "    for i in range(len(trainset.data)):\n",
    "        data_ = trainset.data[i].split('\\n')\n",
    "        data_ = list(filter(None, data_))\n",
    "        for n in range(len(data_)):\n",
    "            data_[n] = clearstring(data_[n])\n",
    "        datastring += data_\n",
    "        for n in range(len(data_)):\n",
    "            datatarget.append(trainset.target[i])\n",
    "    return datastring, datatarget"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['anger', 'fear', 'joy', 'love', 'sadness', 'surprise']\n",
      "416809\n",
      "416809\n"
     ]
    }
   ],
   "source": [
    "import random\n",
    "trainset = sklearn.datasets.load_files(container_path = 'data', encoding = 'UTF-8')\n",
    "trainset.data, trainset.target = separate_dataset(trainset)\n",
    "combined = list(zip(trainset.data, trainset.target))\n",
    "random.shuffle(combined)\n",
    "trainset.data[:], trainset.target[:] = zip(*combined)\n",
    "print (trainset.target_names)\n",
    "print (len(trainset.data))\n",
    "print (len(trainset.target))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.DataFrame({'text':trainset.data, 'label':trainset.target})\n",
    "\n",
    "df[\"num_words\"] = df[\"text\"].apply(lambda x: len(str(x).split()))\n",
    "\n",
    "df[\"num_unique_words\"] = df[\"text\"].apply(lambda x: len(set(str(x).split())))\n",
    "\n",
    "df[\"num_chars\"] = df[\"text\"].apply(lambda x: len(str(x)))\n",
    "\n",
    "df[\"num_stopwords\"] = df[\"text\"].apply(lambda x: len([w for w in str(x).lower().split() if w in eng_stopwords]))\n",
    "\n",
    "df[\"mean_word_len\"] = df[\"text\"].apply(lambda x: np.mean([len(w) for w in str(x).split()]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(333447, 7)\n",
      "(83362, 7)\n"
     ]
    }
   ],
   "source": [
    "df_train = df.iloc[:int(df.shape[0] * 0.8),:]\n",
    "df_test = df.iloc[int(df.shape[0] * 0.8):,:]\n",
    "df_test = df_test.reset_index()\n",
    "df_test = df_test.iloc[:,1:]\n",
    "print(df_train.shape)\n",
    "print(df_test.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Will train until validation_0 error hasn't decreased in 20 rounds.\n",
      "[0]\tvalidation_0-mlogloss:1.765842\n",
      "[1]\tvalidation_0-mlogloss:1.743241\n",
      "[2]\tvalidation_0-mlogloss:1.723464\n",
      "[3]\tvalidation_0-mlogloss:1.706175\n",
      "[4]\tvalidation_0-mlogloss:1.690923\n",
      "[5]\tvalidation_0-mlogloss:1.677473\n",
      "[6]\tvalidation_0-mlogloss:1.665609\n",
      "[7]\tvalidation_0-mlogloss:1.655104\n",
      "[8]\tvalidation_0-mlogloss:1.645764\n",
      "[9]\tvalidation_0-mlogloss:1.637449\n",
      "[10]\tvalidation_0-mlogloss:1.630069\n",
      "[11]\tvalidation_0-mlogloss:1.623521\n",
      "[12]\tvalidation_0-mlogloss:1.617647\n",
      "[13]\tvalidation_0-mlogloss:1.612393\n",
      "[14]\tvalidation_0-mlogloss:1.607701\n",
      "[15]\tvalidation_0-mlogloss:1.603477\n",
      "[16]\tvalidation_0-mlogloss:1.599714\n",
      "[17]\tvalidation_0-mlogloss:1.596340\n",
      "[18]\tvalidation_0-mlogloss:1.593318\n",
      "[19]\tvalidation_0-mlogloss:1.590606\n",
      "[20]\tvalidation_0-mlogloss:1.588183\n",
      "[21]\tvalidation_0-mlogloss:1.586002\n",
      "[22]\tvalidation_0-mlogloss:1.584055\n",
      "[23]\tvalidation_0-mlogloss:1.582290\n",
      "[24]\tvalidation_0-mlogloss:1.580728\n",
      "[25]\tvalidation_0-mlogloss:1.579292\n",
      "[26]\tvalidation_0-mlogloss:1.578020\n",
      "[27]\tvalidation_0-mlogloss:1.576865\n",
      "[28]\tvalidation_0-mlogloss:1.575836\n",
      "[29]\tvalidation_0-mlogloss:1.574898\n",
      "[30]\tvalidation_0-mlogloss:1.574043\n",
      "[31]\tvalidation_0-mlogloss:1.573290\n",
      "[32]\tvalidation_0-mlogloss:1.572614\n",
      "[33]\tvalidation_0-mlogloss:1.571994\n",
      "[34]\tvalidation_0-mlogloss:1.571454\n",
      "[35]\tvalidation_0-mlogloss:1.570964\n",
      "[36]\tvalidation_0-mlogloss:1.570516\n",
      "[37]\tvalidation_0-mlogloss:1.570126\n",
      "[38]\tvalidation_0-mlogloss:1.569765\n",
      "[39]\tvalidation_0-mlogloss:1.569441\n",
      "[40]\tvalidation_0-mlogloss:1.569144\n",
      "[41]\tvalidation_0-mlogloss:1.568862\n",
      "[42]\tvalidation_0-mlogloss:1.568626\n",
      "[43]\tvalidation_0-mlogloss:1.568417\n",
      "[44]\tvalidation_0-mlogloss:1.568230\n",
      "[45]\tvalidation_0-mlogloss:1.568058\n",
      "[46]\tvalidation_0-mlogloss:1.567902\n",
      "[47]\tvalidation_0-mlogloss:1.567769\n",
      "[48]\tvalidation_0-mlogloss:1.567641\n",
      "[49]\tvalidation_0-mlogloss:1.567536\n",
      "[50]\tvalidation_0-mlogloss:1.567417\n",
      "[51]\tvalidation_0-mlogloss:1.567325\n",
      "[52]\tvalidation_0-mlogloss:1.567238\n",
      "[53]\tvalidation_0-mlogloss:1.567158\n",
      "[54]\tvalidation_0-mlogloss:1.567095\n",
      "[55]\tvalidation_0-mlogloss:1.567017\n",
      "[56]\tvalidation_0-mlogloss:1.566958\n",
      "[57]\tvalidation_0-mlogloss:1.566918\n",
      "[58]\tvalidation_0-mlogloss:1.566873\n",
      "[59]\tvalidation_0-mlogloss:1.566840\n",
      "[60]\tvalidation_0-mlogloss:1.566800\n",
      "[61]\tvalidation_0-mlogloss:1.566777\n",
      "[62]\tvalidation_0-mlogloss:1.566743\n",
      "[63]\tvalidation_0-mlogloss:1.566707\n",
      "[64]\tvalidation_0-mlogloss:1.566680\n",
      "[65]\tvalidation_0-mlogloss:1.566660\n",
      "[66]\tvalidation_0-mlogloss:1.566645\n",
      "[67]\tvalidation_0-mlogloss:1.566636\n",
      "[68]\tvalidation_0-mlogloss:1.566620\n",
      "[69]\tvalidation_0-mlogloss:1.566596\n",
      "[70]\tvalidation_0-mlogloss:1.566580\n",
      "[71]\tvalidation_0-mlogloss:1.566561\n",
      "[72]\tvalidation_0-mlogloss:1.566555\n",
      "[73]\tvalidation_0-mlogloss:1.566531\n",
      "[74]\tvalidation_0-mlogloss:1.566530\n",
      "[75]\tvalidation_0-mlogloss:1.566519\n",
      "[76]\tvalidation_0-mlogloss:1.566519\n",
      "[77]\tvalidation_0-mlogloss:1.566507\n",
      "[78]\tvalidation_0-mlogloss:1.566506\n",
      "[79]\tvalidation_0-mlogloss:1.566498\n",
      "[80]\tvalidation_0-mlogloss:1.566503\n",
      "[81]\tvalidation_0-mlogloss:1.566493\n",
      "[82]\tvalidation_0-mlogloss:1.566494\n",
      "[83]\tvalidation_0-mlogloss:1.566490\n",
      "[84]\tvalidation_0-mlogloss:1.566491\n",
      "[85]\tvalidation_0-mlogloss:1.566495\n",
      "[86]\tvalidation_0-mlogloss:1.566491\n",
      "[87]\tvalidation_0-mlogloss:1.566486\n",
      "[88]\tvalidation_0-mlogloss:1.566470\n",
      "[89]\tvalidation_0-mlogloss:1.566471\n",
      "[90]\tvalidation_0-mlogloss:1.566457\n",
      "[91]\tvalidation_0-mlogloss:1.566463\n",
      "[92]\tvalidation_0-mlogloss:1.566458\n",
      "[93]\tvalidation_0-mlogloss:1.566456\n",
      "[94]\tvalidation_0-mlogloss:1.566447\n",
      "[95]\tvalidation_0-mlogloss:1.566445\n",
      "[96]\tvalidation_0-mlogloss:1.566438\n",
      "[97]\tvalidation_0-mlogloss:1.566432\n",
      "[98]\tvalidation_0-mlogloss:1.566417\n",
      "[99]\tvalidation_0-mlogloss:1.566424\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "XGBClassifier(base_score=0.5, colsample_bylevel=1, colsample_bytree=1,\n",
       "       gamma=0, learning_rate=0.1, max_delta_step=0, max_depth=3,\n",
       "       min_child_weight=1, missing=None, n_estimators=100, nthread=-1,\n",
       "       objective='multi:softprob', reg_alpha=0, reg_lambda=1,\n",
       "       scale_pos_weight=1, seed=0, silent=1, subsample=0.8)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "param = {}\n",
    "param['objective'] = 'multi:softprob'\n",
    "param['learning_rate'] = 0.1\n",
    "param['max_depth'] = 3\n",
    "param['silent'] = 1\n",
    "param['subsample'] = 0.8\n",
    "feature_clf = xgb.XGBClassifier(**param)\n",
    "train_X = df_train.iloc[:, 2:]\n",
    "train_Y = df_train.iloc[:, 0]\n",
    "test_X = df_test.iloc[:, 2:]\n",
    "test_Y = df_test.iloc[:, 0]\n",
    "feature_clf.fit(train_X,train_Y, eval_set=[(test_X,test_Y)], \n",
    "        eval_metric='mlogloss', early_stopping_rounds=20, verbose=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "accuracy validation set:  0.347160576762\n",
      "             precision    recall  f1-score   support\n",
      "\n",
      "      anger       0.38      0.00      0.00     11246\n",
      "       fear       0.50      0.00      0.00      9642\n",
      "        joy       0.35      0.85      0.49     28334\n",
      "       love       0.00      0.00      0.00      6876\n",
      "    sadness       0.34      0.20      0.25     24260\n",
      "   surprise       0.00      0.00      0.00      3004\n",
      "\n",
      "avg / total       0.33      0.35      0.24     83362\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python3.5/dist-packages/sklearn/metrics/classification.py:1135: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n"
     ]
    }
   ],
   "source": [
    "from sklearn import metrics\n",
    "predicted = feature_clf.predict(test_X)\n",
    "print('accuracy validation set: ', np.mean(predicted == test_Y))\n",
    "print(metrics.classification_report(test_Y, predicted, target_names = trainset.target_names))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\npeLyIeRyOcrLyxt93ZKmRcSe9c3nI1YzM7MMuVjNzMwy5GI1MzPLkIvVzMwsQy5WMzOzDLlYzczM\nMuRiNTMzy5CL1czMLEMuVjMzswy5WM3MzDLkYjUzM8uQi9XMzCxDLlYzM7MMuVjNzMwy5GI1MzPL\nkIvVzMwsQy5WMzOzDLlYzcys5Bx//PFss8029O7de924Cy+8kL59+9K/f38GDx7MwoULAViyZAlH\nH300ffv2Za+99mL27NnrXtOtWzf69OlD//792XPPPTPJ5mItMknLNzCtm6TZdU03M2uuRo4cyaOP\nPrreuLPPPpuZM2cyffp0Dj/8cC655BIAfvnLX9K/f39mzpzJ7373O04//fT1XvfEE08wffp0pk6d\nmkk2F2sjklRW7AxmZpuC/fffnw4dOqw3rl27duuGKysrkQTAK6+8woEHHghAjx49qKioYNGiRQ2W\nrSSKNT1ye03SeEmvS7pb0kGSnpH0hqS9JLWR9FtJz0t6SdKRea99WtKL6eMr6fhySTlJ96fLvlvV\nP4VPr//Lkv6YDh8paYWklpJaSXorHd9f0hRJMyX9SdLW6ficpOskTQVOl7SzpGclzZL0i43YBy0k\nXSXphXQdP9jY7TAz29Sdf/757Ljjjtx9993rjlj79evHH//4RwCef/553n77bebPnw+AJAYPHszA\ngQO59dZbM8mgiMhkQQ1JUjdgLjAAeBl4AZgBnAB8HRgFvAK8EhF3SWoPPJ/OH8DaiPhY0q7AhIjY\nU1I58CDQC1gIPAOcHRF/r2X9ZcDrEdFd0tXAfwNnAGXADyNimKSZwKkR8aSkS4B2EXGGpFya60fp\nsh4C7o+I30k6BbgiItpuYLv/HBG9JZ0EbBMRv5C0RZr3m8BOhWxH+vqTADp27DTwoutuK2jfNwXb\ntoZFK4qdojCllBVKK28pZQXnbSh9tt+K5cuX07ZtW/71r39x3nnnMW7cuE/Nd/fdd7Nq1SpGjRpF\nZWUlN954I2+88Qbdu3fnnXfeYfTo0eyyyy4sXryYTp06sWTJEkaPHs1pp51Gv379al33AQccMC0i\n6r0QW0qnJudFxCwASS8DkyMiJM0CugE7AF+XNDqdvxXQlaRsbpTUH1gD7Ja3zOcjYn66zOnpcj5V\nrBFRJelNST2BvYBrgP2BFsDTkrYC2kfEk+lL7gDuy1vEPXnDXwW+kQ7fCVxR4PYPBvpKGpo+3wrY\n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\nMjMzsxJU6DXWb6f/PSVvXADds41jZmZW2go6Yo2InWt5uFTNrCiuvfZaevXqRe/evRk2bBgff/wx\n8+bNY++992aXXXbh29/+NqtWrQLg5ptvpk+fPvTv35/99tuPV155pcjpbVNX6CcvHVfbo6HDmZnV\ntGDBAm644QamTp3K7NmzWbNmDRMnTuScc87hzDPPZO7cuWy99dbcfvvtAHznO99h1qxZTJ8+nZ/+\n9Kf85Cc/KfIW2Kau0GusX857DAIuBr7eQJmaFEnlkr5S7Bw1SbpY0uhi5zArhqqqKlasWEFVVRUf\nffQRnTt35vHHH2fo0KEAjBgxggceeACAdu3arXtdZWUlkoqS2ZqPQj+E/9T855LaAxMbJFHTUw4s\nB/5RrACSyiLCn3RlBmy//faMHj2arl270rp1awYPHszAgQNp3749ZWXJr7QddtiBBQsWrHvNTTfd\nxDXXXMOqVat4/PHHixXdmolCj1hrqgR2zjJIXSR1k/SqpNskvSzpMUmtJeUk7ZnO01FSRTo8UtID\nkv5PUoWkH0v6iaSXJE3Z0N3Mkk6T9IqkmZImSuoG/BA4U9J0SYPSPI+n80yW1DV97XhJN0uaKul1\nSYen4x+R1DcdfknSRenwJZJOVOIqSbMlzZL07XR6uaSnJT0EvJKOOz9d9t+BL9WVO+MfgVmTsmTJ\nEh588EHmzZvHwoULqays5NFHH93ga0455RTefPNNrrjiCn7xi180UlJrrgo6YpX0MOnHGZKU8e7k\nfY1cI9gVGBYRJ0q6l/q/sq43MABoBcwFzomIAZKuBY4DrqvjdecCO0fESkntI2KppJuB5RFxNazb\nF3dExB2SjgduAI5KX98N2Av4IvCEpF2Ap4FBkt4m+Xzlr6bzDiIp7WOA/kA/oCPwgqSn0nn2AHpH\nxDxJA0m++KA/yc/tRWBabblr2zBJJwEnAXTs2ImL+pTOAfC2reGsEslbSlmhtPJu2xpyuRy5XI5W\nrVrx8ssvA9CzZ0/uu+8+Fi9ezOTJk2nRogUvv/wyrVu3JpfLrbeM7bbbjj/84Q+MGjWqwfMuX778\nU+tvykopb1PPWujbba7OG64C3o6I+Q2Qpy7zImJ6OjyNpMA25In0gyyWSfoAeDgdPwvou4HXzQTu\nlvQA8EAd8+xLUoYAdwJX5k27N/1AjTckvQX0ICnW00g+BvIR4GBJW5IU4RxJPwQmRMQaYJGkJ0mu\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9ed224fe10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(6, 6))\n",
    "xgb.plot_importance(feature_clf, height=0.8, ax=ax)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "tfidf_vec = TfidfVectorizer(stop_words='english', ngram_range=(1,3))\n",
    "tfidf = tfidf_vec.fit_transform(df.text)\n",
    "tfidf_train = tfidf_vec.transform(df_train.text)\n",
    "tfidf_test = tfidf_vec.transform(df_test.text)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "             precision    recall  f1-score   support\n",
      "\n",
      "      anger       0.93      0.42      0.58     11246\n",
      "       fear       0.86      0.32      0.47      9642\n",
      "        joy       0.63      0.99      0.77     28334\n",
      "       love       1.00      0.11      0.19      6876\n",
      "    sadness       0.78      0.95      0.86     24260\n",
      "   surprise       1.00      0.04      0.07      3004\n",
      "\n",
      "avg / total       0.79      0.72      0.66     83362\n",
      "\n"
     ]
    }
   ],
   "source": [
    "model_nb = naive_bayes.MultinomialNB()\n",
    "model_nb.fit(tfidf_train, train_Y)\n",
    "predicted = model_nb.predict(tfidf_test)\n",
    "print(metrics.classification_report(test_Y, predicted, target_names = trainset.target_names))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_tfidf_nb = pd.DataFrame(model_nb.predict_proba(tfidf_train))\n",
    "test_tfidf_nb = pd.DataFrame(model_nb.predict_proba(tfidf_test))\n",
    "train_tfidf_nb.columns = ['nb_tfidf_'+i for i in trainset.target_names]\n",
    "test_tfidf_nb.columns = ['nb_tfidf_'+i for i in trainset.target_names]\n",
    "df_train = pd.concat([df_train, train_tfidf_nb], axis=1)\n",
    "df_test = pd.concat([df_test, test_tfidf_nb], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "n_comp = 20\n",
    "svd_obj = TruncatedSVD(n_components=n_comp, algorithm='arpack')\n",
    "svd_obj.fit(tfidf)\n",
    "train_svd = pd.DataFrame(svd_obj.transform(tfidf_train))\n",
    "test_svd = pd.DataFrame(svd_obj.transform(tfidf_test))\n",
    "    \n",
    "train_svd.columns = ['lsa_'+str(i) for i in range(n_comp)]\n",
    "test_svd.columns = ['lsa_'+str(i) for i in range(n_comp)]\n",
    "df_train = pd.concat([df_train, train_svd], axis=1)\n",
    "df_test = pd.concat([df_test, test_svd], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "del tfidf, tfidf_train, tfidf_test, train_svd, test_svd\n",
    "bow_vec = CountVectorizer(stop_words='english', ngram_range=(1,3))\n",
    "bow = bow_vec.fit_transform(df.text)\n",
    "bow_train = bow_vec.transform(df_train.text)\n",
    "bow_test = bow_vec.transform(df_test.text)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "             precision    recall  f1-score   support\n",
      "\n",
      "      anger       0.91      0.80      0.85     11246\n",
      "       fear       0.84      0.72      0.78      9642\n",
      "        joy       0.81      0.94      0.87     28334\n",
      "       love       0.75      0.45      0.56      6876\n",
      "    sadness       0.84      0.95      0.89     24260\n",
      "   surprise       0.71      0.23      0.35      3004\n",
      "\n",
      "avg / total       0.83      0.83      0.82     83362\n",
      "\n"
     ]
    }
   ],
   "source": [
    "model_nb = naive_bayes.MultinomialNB()\n",
    "model_nb.fit(bow_train, train_Y)\n",
    "predicted = model_nb.predict(bow_test)\n",
    "print(metrics.classification_report(test_Y, predicted, target_names = trainset.target_names))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "train_bow_nb = pd.DataFrame(model_nb.predict_proba(bow_train))\n",
    "test_bow_nb = pd.DataFrame(model_nb.predict_proba(bow_test))\n",
    "train_bow_nb.columns = ['nb_bow_'+i for i in trainset.target_names]\n",
    "test_bow_nb.columns = ['nb_bow_'+i for i in trainset.target_names]\n",
    "df_train = pd.concat([df_train, train_bow_nb], axis=1)\n",
    "df_test = pd.concat([df_test, test_bow_nb], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "bow_vec = CountVectorizer(ngram_range=(1,7), analyzer='char')\n",
    "bow = bow_vec.fit_transform(df.text)\n",
    "bow_train = bow_vec.transform(df_train.text)\n",
    "bow_test = bow_vec.transform(df_test.text)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "             precision    recall  f1-score   support\n",
      "\n",
      "      anger       0.87      0.84      0.85     11246\n",
      "       fear       0.81      0.80      0.80      9642\n",
      "        joy       0.85      0.88      0.86     28334\n",
      "       love       0.71      0.67      0.69      6876\n",
      "    sadness       0.87      0.91      0.89     24260\n",
      "   surprise       0.74      0.39      0.51      3004\n",
      "\n",
      "avg / total       0.84      0.84      0.84     83362\n",
      "\n"
     ]
    }
   ],
   "source": [
    "model_nb = naive_bayes.MultinomialNB()\n",
    "model_nb.fit(bow_train, train_Y)\n",
    "predicted = model_nb.predict(bow_test)\n",
    "print(metrics.classification_report(test_Y, predicted, target_names = trainset.target_names))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "train_bow_nb = pd.DataFrame(model_nb.predict_proba(bow_train))\n",
    "test_bow_nb = pd.DataFrame(model_nb.predict_proba(bow_test))\n",
    "train_bow_nb.columns = ['nb_bow_char_'+i for i in trainset.target_names]\n",
    "test_bow_nb.columns = ['nb_bow_char_'+i for i in trainset.target_names]\n",
    "df_train = pd.concat([df_train, train_bow_nb], axis=1)\n",
    "df_test = pd.concat([df_test, test_bow_nb], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "del bow_vec, train_bow_nb, test_bow_nb, bow, bow_train, bow_test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>label</th>\n",
       "      <th>text</th>\n",
       "      <th>num_words</th>\n",
       "      <th>num_unique_words</th>\n",
       "      <th>num_chars</th>\n",
       "      <th>num_stopwords</th>\n",
       "      <th>mean_word_len</th>\n",
       "      <th>nb_tfidf_anger</th>\n",
       "      <th>nb_tfidf_fear</th>\n",
       "      <th>nb_tfidf_joy</th>\n",
       "      <th>...</th>\n",
       "      <th>nb_bow_joy</th>\n",
       "      <th>nb_bow_love</th>\n",
       "      <th>nb_bow_sadness</th>\n",
       "      <th>nb_bow_surprise</th>\n",
       "      <th>nb_bow_char_anger</th>\n",
       "      <th>nb_bow_char_fear</th>\n",
       "      <th>nb_bow_char_joy</th>\n",
       "      <th>nb_bow_char_love</th>\n",
       "      <th>nb_bow_char_sadness</th>\n",
       "      <th>nb_bow_char_surprise</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>4</td>\n",
       "      <td>ive been feeling a little melancholy</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>36</td>\n",
       "      <td>2</td>\n",
       "      <td>5.166667</td>\n",
       "      <td>0.001636</td>\n",
       "      <td>0.001364</td>\n",
       "      <td>0.002907</td>\n",
       "      <td>...</td>\n",
       "      <td>2.332553e-08</td>\n",
       "      <td>1.226894e-10</td>\n",
       "      <td>9.999999e-01</td>\n",
       "      <td>9.731842e-12</td>\n",
       "      <td>1.869089e-66</td>\n",
       "      <td>1.763101e-58</td>\n",
       "      <td>9.618400e-67</td>\n",
       "      <td>1.332998e-70</td>\n",
       "      <td>1.000000e+00</td>\n",
       "      <td>6.914444e-76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>im hella anticipating august and have been fee...</td>\n",
       "      <td>18</td>\n",
       "      <td>18</td>\n",
       "      <td>99</td>\n",
       "      <td>6</td>\n",
       "      <td>4.555556</td>\n",
       "      <td>0.389581</td>\n",
       "      <td>0.034414</td>\n",
       "      <td>0.332815</td>\n",
       "      <td>...</td>\n",
       "      <td>1.641601e-08</td>\n",
       "      <td>1.920556e-13</td>\n",
       "      <td>3.061506e-09</td>\n",
       "      <td>1.786409e-17</td>\n",
       "      <td>1.000000e+00</td>\n",
       "      <td>1.207171e-47</td>\n",
       "      <td>3.787879e-51</td>\n",
       "      <td>4.134736e-50</td>\n",
       "      <td>1.822714e-33</td>\n",
       "      <td>9.973456e-96</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4</td>\n",
       "      <td>i don t know what s going to happen to us her ...</td>\n",
       "      <td>29</td>\n",
       "      <td>26</td>\n",
       "      <td>144</td>\n",
       "      <td>18</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>0.018487</td>\n",
       "      <td>0.022773</td>\n",
       "      <td>0.188893</td>\n",
       "      <td>...</td>\n",
       "      <td>7.843260e-09</td>\n",
       "      <td>6.481890e-14</td>\n",
       "      <td>1.000000e+00</td>\n",
       "      <td>2.956143e-18</td>\n",
       "      <td>3.042203e-99</td>\n",
       "      <td>7.429498e-88</td>\n",
       "      <td>1.288318e-55</td>\n",
       "      <td>4.238791e-70</td>\n",
       "      <td>1.000000e+00</td>\n",
       "      <td>9.786039e-129</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>i think that is it for today other than we are...</td>\n",
       "      <td>33</td>\n",
       "      <td>29</td>\n",
       "      <td>154</td>\n",
       "      <td>21</td>\n",
       "      <td>3.696970</td>\n",
       "      <td>0.045855</td>\n",
       "      <td>0.233471</td>\n",
       "      <td>0.431243</td>\n",
       "      <td>...</td>\n",
       "      <td>1.309941e-04</td>\n",
       "      <td>2.053566e-13</td>\n",
       "      <td>2.902363e-05</td>\n",
       "      <td>1.013273e-16</td>\n",
       "      <td>1.484106e-27</td>\n",
       "      <td>1.000000e+00</td>\n",
       "      <td>2.723717e-08</td>\n",
       "      <td>6.113177e-61</td>\n",
       "      <td>1.736771e-23</td>\n",
       "      <td>1.568926e-138</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2</td>\n",
       "      <td>i couldnt help but feel amused</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>30</td>\n",
       "      <td>2</td>\n",
       "      <td>4.166667</td>\n",
       "      <td>0.002694</td>\n",
       "      <td>0.001398</td>\n",
       "      <td>0.988560</td>\n",
       "      <td>...</td>\n",
       "      <td>9.999946e-01</td>\n",
       "      <td>2.839741e-08</td>\n",
       "      <td>3.657897e-06</td>\n",
       "      <td>3.036534e-09</td>\n",
       "      <td>3.154195e-10</td>\n",
       "      <td>6.082299e-17</td>\n",
       "      <td>1.000000e+00</td>\n",
       "      <td>6.370577e-32</td>\n",
       "      <td>7.923995e-17</td>\n",
       "      <td>2.654663e-17</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 45 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   label                                               text  num_words  \\\n",
       "0      4               ive been feeling a little melancholy          6   \n",
       "1      0  im hella anticipating august and have been fee...         18   \n",
       "2      4  i don t know what s going to happen to us her ...         29   \n",
       "3      1  i think that is it for today other than we are...         33   \n",
       "4      2                     i couldnt help but feel amused          6   \n",
       "\n",
       "   num_unique_words  num_chars  num_stopwords  mean_word_len  nb_tfidf_anger  \\\n",
       "0                 6         36              2       5.166667        0.001636   \n",
       "1                18         99              6       4.555556        0.389581   \n",
       "2                26        144             18       4.000000        0.018487   \n",
       "3                29        154             21       3.696970        0.045855   \n",
       "4                 6         30              2       4.166667        0.002694   \n",
       "\n",
       "   nb_tfidf_fear  nb_tfidf_joy          ...             nb_bow_joy  \\\n",
       "0       0.001364      0.002907          ...           2.332553e-08   \n",
       "1       0.034414      0.332815          ...           1.641601e-08   \n",
       "2       0.022773      0.188893          ...           7.843260e-09   \n",
       "3       0.233471      0.431243          ...           1.309941e-04   \n",
       "4       0.001398      0.988560          ...           9.999946e-01   \n",
       "\n",
       "    nb_bow_love  nb_bow_sadness  nb_bow_surprise  nb_bow_char_anger  \\\n",
       "0  1.226894e-10    9.999999e-01     9.731842e-12       1.869089e-66   \n",
       "1  1.920556e-13    3.061506e-09     1.786409e-17       1.000000e+00   \n",
       "2  6.481890e-14    1.000000e+00     2.956143e-18       3.042203e-99   \n",
       "3  2.053566e-13    2.902363e-05     1.013273e-16       1.484106e-27   \n",
       "4  2.839741e-08    3.657897e-06     3.036534e-09       3.154195e-10   \n",
       "\n",
       "   nb_bow_char_fear  nb_bow_char_joy  nb_bow_char_love  nb_bow_char_sadness  \\\n",
       "0      1.763101e-58     9.618400e-67      1.332998e-70         1.000000e+00   \n",
       "1      1.207171e-47     3.787879e-51      4.134736e-50         1.822714e-33   \n",
       "2      7.429498e-88     1.288318e-55      4.238791e-70         1.000000e+00   \n",
       "3      1.000000e+00     2.723717e-08      6.113177e-61         1.736771e-23   \n",
       "4      6.082299e-17     1.000000e+00      6.370577e-32         7.923995e-17   \n",
       "\n",
       "   nb_bow_char_surprise  \n",
       "0          6.914444e-76  \n",
       "1          9.973456e-96  \n",
       "2         9.786039e-129  \n",
       "3         1.568926e-138  \n",
       "4          2.654663e-17  \n",
       "\n",
       "[5 rows x 45 columns]"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "XGBClassifier(base_score=0.5, colsample_bylevel=1, colsample_bytree=0.4,\n",
       "       gamma=0.65, learning_rate=0.05, max_delta_step=1.8, max_depth=7,\n",
       "       min_child_weight=10.0, missing=None, n_estimators=10000, nthread=-1,\n",
       "       objective='multi:softprob', reg_alpha=0, reg_lambda=1,\n",
       "       scale_pos_weight=1, seed=0, silent=False, subsample=0.8)"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "params_xgd = {\n",
    "    'min_child_weight': 10.0,\n",
    "    'max_depth': 7,\n",
    "    'objective': 'multi:softprob',\n",
    "    'max_delta_step': 1.8,\n",
    "    'colsample_bytree': 0.4,\n",
    "    'subsample': 0.8,\n",
    "    'learning_rate': 0.05,\n",
    "    'gamma': 0.65,\n",
    "    'nthread': -1,\n",
    "    'silent': False,\n",
    "    'n_estimators': 10000\n",
    "    }\n",
    "train_X = df_train.iloc[:,2:]\n",
    "test_X = df_test.iloc[:,2:]\n",
    "train_Y = df_train.iloc[:,0]\n",
    "test_Y = df_test.iloc[:,0]\n",
    "clf = xgb.XGBClassifier(**params_xgd)\n",
    "clf.fit(train_X,train_Y, eval_set=[(test_X,test_Y)], \n",
    "        eval_metric='mlogloss', early_stopping_rounds=50, verbose=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "accuracy validation set:  0.862527290612\n",
      "             precision    recall  f1-score   support\n",
      "\n",
      "      anger       0.89      0.87      0.88     11246\n",
      "       fear       0.82      0.80      0.81      9642\n",
      "        joy       0.87      0.91      0.89     28334\n",
      "       love       0.70      0.64      0.67      6876\n",
      "    sadness       0.92      0.93      0.93     24260\n",
      "   surprise       0.63      0.57      0.59      3004\n",
      "\n",
      "avg / total       0.86      0.86      0.86     83362\n",
      "\n"
     ]
    }
   ],
   "source": [
    "predicted = clf.predict(test_X)\n",
    "print('accuracy validation set: ', np.mean(predicted == test_Y))\n",
    "print(metrics.classification_report(test_Y, predicted, target_names = trainset.target_names))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nkypm57UQi/6sL8w/KlZTU8OBAweYOnUqU6dOBcJTzt566y3y84/cPz8/n6VLl9KrV6/WhQPkxILB\n4FHfpSQv9WdqUX+mFvVnYtE0s8S2BiiOjJ7kufveSHyKma0HqoChwJA45SfSrqamJvbu3dv6/rXX\nXuPSSy9l165dABw6dIjvf//7rauWvf/++xw8eBCAP/3pT7zzzjvk5OTEJ3kRERFJGipmEpi7VwBj\ngB3AYjObamYDgTnAde4+DHgZ6B7HNEWOsnPnTkaPHs1ll13GFVdcwaRJk5gwYQJLly7l4osvJjc3\nl759+1JcXAxARUUFw4YNIxAIMHnyZJ588knOPffcOF+FiIiIJDrNGUpgZtYf2O7uC82sG3A5UAM0\nAY1m1guYCATjl6XI0XJycqipqTkqXlJSQklJyVHxm266iZtuuqkzUhMREZEUomImseUDc83sABAC\nprp7nZlVAZuBbYRXKzsmM5sF3AX0BjaY2SvuPt3MegNrCS8ucMjM/gUY4u57Ync5IiIiIiLRo2Im\nAbl7RuR1CbCkne1FJ9HWE8AT7cTfAy44mbzSz+xCbemkkzlEElgwGGz3Zn0RERGRZKF7ZkRERERE\nJClpZCZFmNlyYGCb8N3u/mo88hERERERiTUVMynC3QtifY79Bw4y4J6XY30a6SSz81ooikF/1msq\nooiIiHQSTTMTEREREZGkpGJGRGJiwIAB5OXlEQgEGDlyJAA1NTVcffXV5OXl8aUvfYk9e45cPO/d\nd98lIyODhx9+OB4pi4iISJJRMSMiMbNq1Sqqq6tZu3YtANOnT6e0tJSNGzdSUFDAQw89dMT+d955\nJxMnToxHqiIiIpKEVMwkETMLRbGt281sq5m5mWVFq12R49myZQtjxowBYNy4cbzwwgut21asWMHA\ngQMZOnRovNITERGRJKNi5vT1BvB54M/xTkRSk5kxfvx4RowYwYIFCwAYOnQoK1euBOD5559n27Zt\nAIRCIX7wgx9w3333xS1fERERST7m7vHOQTrIzELunmFmfYDngLMIr0g3090rzWw+MApIB5a5+wn/\nMjSzemCku39wjO0zgBkAWVnZI+59bGF0Lkbirlc67Nwf/Xbzzj8bgPfff5/s7Gw++ugj5syZw6xZ\nszjnnHMoKyujsbGRz372s7z44ousXLmS+fPnk5uby9ixY1m8eDHp6encfPPN0U8uhYVCITIyMuKd\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9ea86b8d30>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(12,12))\n",
    "xgb.plot_importance(clf, height=0.8, ax=ax)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'this notebook use: 2554.68359375 MB'"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import os\n",
    "import psutil\n",
    "process = psutil.Process(os.getpid())\n",
    "'this notebook use: ' + str(process.memory_info()[0] / float(2 ** 20)) + ' MB'"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
